软件信息

此文中使用的 GraphPad Prism 版本为 9.4.1,获取方式请自寻,请支持正版。

需要准备的文件:差异表达分析结果表格。

9.0 以上版本的 GraphPad Prism 已经支持火山图绘制,但是绘图效果并没有利用散点图绘制来的好,因此这篇文还是通过散点图的方式来实现火山图绘制,如果想要试试 Prism 自带的火山图可以在点开 Prism 时选择 Graph Portfolio 里的 Volcano Plot 进行:

更新日志

2023.07.07 精简了内容,增加了题外话。

绘图过程

在进行绘图之前,需要先筛选出 |log2FC| > 1 以及 adjustp < 0.05 的点(可以选用不同的阈值),然后将它们的 log2FC 放在新的一列,最后效果应该如下所示:

具体的实现过程可以通过 Python 脚本或者 R 进行,处理以后的表格用来绘制火山图。

点进 GraphPad Prism 后,选择最上方的 XY,各项选择如图:

生成表格后,导入差异表达分析结果(复制黏贴整个表格即可),此后删掉除了所需要的数据以外的列,最后如下图:

其中第一列为基因的 ID,第二列即 X 为各个基因的 log2FoldChange 值,后面三列 Y 为 adjust.p 值。此后选中三列 p 值,并点击箭头所指地方的 Analyze 选项:

选择 Transform 并点击 OK,此后选择转变 Y 值,选择 y = -1*Log(Y)

上述步骤也可以在 R 或 Python 的处理中完成,这里就展示下如何用 Prism 进行数据转换。

此后就能看见生成了一个新的表格和对应的图,点进图中可以看到它是这个样子:

到这里,一个初步的火山图雏形就已经产生,点击上方的 Format axes 进行进一步的润色:

在这里我就直接展示我在各个部分修改的参数:

y 轴设范围 -0.2 是因为避免等一下修改点大小后点挤出框外,更改完后整体效果应该如下:

此后我们在对点进行一些润色,同样直接以图的形式展现步骤:

点的大小可以选 2 也可以选 3,看个人的喜好而定。

最后,再修改下标签的名称和各标题,火山图诞生:

到这里使用 GraphPad Prism 绘制火山图的分享就结束了,还可以基于这些功能进行进阶应用。

例如可以用 Prism 展示各类基因的差异表达情况:

题外话

Prism 除了火山图以外还有非常多的图形可以绘制,其本身也自带了许多相关的统计算法。

此外我个人感觉 Prism 画出的图很有科研风格,这可能也是它经常出现在各个文章的原因之一。

如果想在 R 中画出相似风格的图片,可以安装 ggprism 包,该包是一款主题,可以将 ggplot2 的图变成类似 Prism 的样式。